//
//package com.microboot.config;
//
//import com.microboot.interceptor.WebServiceAuthInterceptor;
//import com.microboot.service.user.dao.IMessageService;
//import com.microboot.service.user.dao.IProductService;
//import org.apache.cxf.Bus;
//import jakarta.xml.ws.Endpoint;
//import org.apache.cxf.jaxws.EndpointImpl;
//import org.apache.cxf.transport.servlet.CXFServlet;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.web.servlet.ServletRegistrationBean;
//import org.springframework.context.annotation.Bean;
//import org.springframework.stereotype.Component;
//
///**
// * CXF配置类，用于配置Web服务端点和拦截器(目前已经将手动注册方式改成注解自动注册方式：AutoPublishWSEndpoint)
// */
////@Component
//public class CXFConfig {
//
//    @Autowired
//    private Bus bus; //注入Bus接口实例
//    @Autowired
//    private IMessageService messageService; //注入业务接口
//    @Autowired
//    private IProductService productService; //注入业务接口
//    @Autowired
//    private WebServiceAuthInterceptor interceptor; //认证拦截器
//
//    /**
//     * 配置CXFServlet的Servlet注册Bean
//     *
//     * @return ServletRegistrationBean对象，用于注册CXFServlet
//     */
//    @Bean
//    public ServletRegistrationBean getRegistrationBean(){
//        return new ServletRegistrationBean<>(new CXFServlet(),"/services/*"); //webservic访问的父路径
//    }
//
//    /**
//     * 创建并配置MessageService的Web服务端点
//     *
//     * @return Endpoint对象，代表发布的Web服务端点
//     */
//    @Bean
//    public Endpoint messageEnPoint(){
//        EndpointImpl endpoint = new EndpointImpl(this.bus,this.messageService);
//        endpoint.publish("MessageService");
//        endpoint.getInInterceptors().add(this.interceptor); //访问拦截器
//        return endpoint;
//    }
//
//    /**
//     * 创建并配置ProductService的Web服务端点
//     *
//     * @return Endpoint对象，代表发布的Web服务端点
//     */
//    @Bean
//    public Endpoint getProductEnPoint(){
//        EndpointImpl endpoint = new EndpointImpl(this.bus,this.productService);
//        endpoint.publish("AutoProductService");
//        endpoint.getInInterceptors().add(this.interceptor); //访问拦截器
//        return endpoint;
//    }
//
//}